The present invention relates to a programming support apparatus and method which graphically displays functions by using such a graphical symbol as an icon, and do programming and processes information through operations of icons, for example. More particularly, the invention relates to a technique which can control a flow of information processings on the basis of layout information of icons, for example. Also, the invention relates to a technique which enables a user to easily do programming by utilizing an operational environment where the user can interactively execute functions or operations to data.
When a person who needs a program directly develops his desired program, he can develop a program that satisfies his necessity or intention and its development is quick. However, development of a program is very difficult for a general user who is not professional in programming. Therefore, it is desired to provide for those general user such an operation environment that a new function is generated through operations similar to programming, viz., by combining known functions.
A technique to combine known functions to generate a new ability in a system is known. In the technique, graphical elements as visualized functions are interconnected by connection lines. However, the technique is disadvantageous in that an element-to-element connecting work of the graphical elements is troublesome, and a display has frequently a complicated effect since graphics and connection lines as well are displayed.
In this respect, it is desired that the functions may be combined in a simple manner, and that the display is neat and easy to see.
A situation that a process desired by a user is too large to display it by one flow of processings frequently occurs. For example, a plural number of processing results are frequently combined to carry out another process. It is desired that when a plural number of processing flows are combined, the user can cope with such a situation by merely combining the functions, and that the course of a process execution is clearly presented to the user.
It is desirable to control a flow of processings such that a function composed anew is directly executed by an instruction by the user, and further is automatically started under a predetermined condition, for example, after a preset time elapses or the function is repeatedly executed till the predetermined condition is satisfied.
In the present computer system, a so-called operational environment is provided for a user. In the environment, the user can directly operate individual functions and data, and can interactively process the functions and data. An example of the operational environment is the file manager of Windows 3.1 (trade mark by Microsoft Inc. in U.S.A.). In the environment, the user can specify a function and causes a computer to execute the function through an interactive operation (a double clicking process, viz., double clicking of the button of a mouse device). Further, the user directly specifies data and causes the computer to display the data.
In the operational environment, the objects to be operated are merely individual function and data. When a plural number of functions are successively executed for one data, it is necessary to execute the functions one by one. It is very convenient if necessary functions could be executed in a batch processing manner. The functions ordinarily executed can be executed more simply if the following technical approach is realized: the functions ordinarily executed are analyzed by utilizing the operational environment, the functions that can successively be executed are selectively gathered, and those gathered functions are automatically executed.
If the above technical approach is realized, a user who needs a program can directly compose a program as desired and intended, and its development is quick.
The conventional techniques relating to the present invention are, for example, Japanese Patent Unexamined Publication Nos. (1) Hei. 7-56725, (2) Hei. 7-191840 and (3) Hei. 6-12250. The publication (1) discloses a programming support method which defines input/output relationships by connecting information processing parts as visualized functions with arrows. The publication (2) discloses an automatic program composer which connects graphical symbols of program modules as visualized functions with lines indicative of data flows. The publication (3) discloses a visual programming method which connects icons of object parts as visualized functions with connecting lines indicative of message communication.